iT邦幫忙

2024 iThome 鐵人賽

DAY 10
0
佛心分享-IT 人自學之術

從零開始的MySQL開發旅程系列 第 10

Day10 插入、更新、刪除資料

  • 分享至 

  • xImage
  •  
  • 插入資料
    • 以insert陳述式將資料列填入(popuiating)資料表,需要指定希望插入的資料值與要插入哪一名稱的資料表、資料欄
    • 若要知道是否資料插入成功可以以select陳述式查詢
    • 若要插入空值null,有兩種方式
      • 在insert陳述式中照樣列出資料欄名稱,並以關鍵字null作為插入值
      • 在insert陳述式中省略掉資料欄名稱,並且不提供任何值給該資料欄,所以MYSQL會直接預設為null
    • 若要插入序數,希望可以每一列資料的值能自動依序遞增
      • 可以定義具有auto_increment屬性的資料欄使
      • 注意!!用時須要注意每個資料表只能有一個資料欄能附加屬性且該資料欄必須是主要索引鍵
    • 若要利用查詢來建立和填入新的資料表
      • 語法:create table as

      • 可以用來製作成資料表的副本,在我們對資料表做大改前可以以這種方式留下原始狀態(命名可為名稱_當前日期)

      • 舉例:student_id為主要索引鍵並且具有auto_increment屬性,因此序數自動遞增。此外資料欄student_age有些插入null空值
        https://ithelp.ithome.com.tw/upload/images/20240828/201687595NivryndCE.png

        https://ithelp.ithome.com.tw/upload/images/20240828/20168759rB8IxqBvhw.png

  • 更新資料
    • 以update陳述式更改現有資料

    • 首先,先利用關鍵字set來設定資料欄希望更改為什麼值。再以where子句來指定是哪一(幾)列資料要更改

    • 注意!!在設計where子句時需要很謹慎,只要任何符合條件的資料列的都會更新,容易產生不如預期的結果,因此where子句使用主要索引鍵會是比較好的做法

    • 只要一個update陳述式就可以更新多個資料欄的值,以關鍵字set那裡用英文逗號隔開每個資料欄的名稱

    • 舉例一:將student_id為2的年齡改為4歲 (續插入資料的舉例)
      https://ithelp.ithome.com.tw/upload/images/20240828/20168759qqKEKZScvS.png

    • 舉例二:將student_id為1得年齡名字修改(續插入資料的舉例)
      https://ithelp.ithome.com.tw/upload/images/20240828/20168759G19Atwb8Vj.png

      https://ithelp.ithome.com.tw/upload/images/20240828/20168759bWr5kpuQ8z.png

  • 刪除資料
    • 刪除資料表中的資料(可以一次刪一列、多列或所有資料列)
      • 以delect陳述式以where子句指定希望刪除那些資料列,與撰寫update陳述式時一樣要謹慎設計
      • 若不加where子句就會刪掉所有資料列
    • 清空資料表
      • 命令truncate table,delect陳述式不加where子句的效果一樣但會保留資料表的架構與欄位(速度也更快)
    • 同時刪除資料表和移除資料表中的所有資料
      • 命令drop table

下一章:建立檢視表、觸發器、事件


上一篇
Day9 呼叫函式(下)
下一篇
Day11 建立檢視表、觸發器、事件
系列文
從零開始的MySQL開發旅程30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言